#pragma once

#include "QvObject.h"
#include "QvDataArray.h"

class QvToolkit_Export QvBitSet : public QvObject
{
public:
    QvBitSet(QvUInt32 length, QvBoolean initState = TRUE);
    virtual ~QvBitSet(void);

    QvBoolean GetState(QvUInt32 index);
    QvBoolean SetState(QvUInt32 index, QvBoolean newValue);

private:
    QvDataArray<QvUInt32> *m_data;
    QvUInt32 m_nMaxLength;
    QvUInt32 m_nLength;
};

